//package com.imooc.distributedemo.wallet;
//
//import party.loveit.bip44forjava.utils.Bip44Utils;
//
//import java.math.BigInteger;
//import java.util.List;
//
//public class GenerateBip44Solution {
//    public static String generateBip44Words(){
//
//        return null;
//    }
//
//    public static void main(String[] args) throws Exception{
//        // 生成助记词
//        List<String> words = Bip44Utils.generateMnemonicWords();
//        System.out.println("words:"+words.toString());
//
//        // 由助记词生成种子
//        byte[] seed = Bip44Utils.getSeed(words);
//        String seedStr = new String(seed,"UTF-8");
//        System.out.println("seed:"+new BigInteger(1,seed).toString(16));
//
//        /**
//         * m：这是根密钥（master key），所有派生路径都从这里开始。
//         * 44'：代表BIP44标准，'表示这个层级的密钥是硬化派生的，即不可以通过公钥来推导。
//         * 60'：代表币种，在这个路径中194代表EOS，如果是比特币则是0'，以太坊是60'
//         * 0'：代表账户，'同样表示硬化派生。每个账户是独立的，可以有多个账户。
//         * 0：表示外链，用于生成接收外部资金的地址。
//         * 0：是地址索引，表示在该链上的第一个地址。
//         */
//        // 根据路径生成私钥
//        // 确定路径是m/44'/60'/a'/0/n
//        // a 表示帐号，n 是第 n 生成的地址，60 是在 SLIP44 提案中确定的以太坊的编码
//        BigInteger privateKey = Bip44Utils.getPathPrivateKey(words,"m/44'/60'/0'/0/0");
//        String privateKeyStr = privateKey.toString(16);
//        System.out.println("privateKey:"+privateKeyStr);
//    }
//}
